.filament {
  padding: 2vh 2vw 0;

  &__progress-bar {
    height: 4vh;
    border-radius: 2vh;
    background-color: #44bd32;
    width: 0;
    transition: width 0.7s ease-in-out;

    &-wrapper {
      background-color: #718093;
      height: 4vh;
      width: 20vw;
      display: inline-block;
      border-radius: 2vh;

      &-wide {
        width: 50vw;
        margin: 14vh auto 3vh;
        display: block;
        height: 7vh;
        background-color: transparent;
        border: 3px solid #f5f6fa;
        border-radius: 3vh;

        > div {
          height: 7vh;
          width: 50vw;
          background-color: transparent;
        }
      }
    }
  }

  &-heading {
    display: block;
    text-align: center;
    font-size: 1rem;
  }

  &-filaments {
    margin-top: 2vh;
    width: 94vw;
    display: block;
    height: 67vh;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    padding-right: 1.5vw;

    &::before {
      content: "";
      width: 92vw;
      height: 69.2vh;
      position: fixed;
      left: 1vw;
      top: 31.5vh;
      z-index: 2;
      pointer-events: none;
      background: linear-gradient(#353b48, transparent 6%, transparent 94%, #353b48);
    }

    td {
      font-size: 3.2vw;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      display: inline-block;
      line-height: 9vh;

      &:last-of-type {
        line-height: 7vh;
      }
    }

    tr {
      background-color: #718093;
      border-radius: 1vw;
      padding: 0 1vw;
      display: block;
      margin-bottom: 2vh;
      height: 10.5vh;

      &:first-of-type {
        margin-top: 3.5vh;
      }

      &:last-of-type {
        margin-bottom: 3.5vh;
      }
    }

    &__type {
      width: 15vw;
      text-align: center;
      margin-left: -2vw;

      &-box {
        font-size: 2vw;
        border: 3px solid;
        width: auto;
        padding: 1.3vh 1.5vw;
        border-radius: 0.15rem;
        font-weight: 500;
      }
    }

    &__name {
      width: 62vw;
    }

    &__weight-left {
      width: 14vw;
      text-align: right;
    }
  }

  &-no-filaments {
    text-align: center;
    font-size: 0.9rem;
    margin-top: 20vh;
  }

  &-heating {
    &__center {
      text-align: center;
    }

    &__information {
      display: inline-block;
      width: 27vw;
      font-size: 0.65rem;
      text-align: left;
      margin-left: 7vw;
      line-height: 1rem;
      overflow: visible;
      vertical-align: top;
      margin-top: 8vh;
      margin-right: -5vw;

      &-color {
        width: 5vw;
        height: 5vw;
        border-radius: 100%;
        margin: 0 auto;
        margin-bottom: 3vh;
        border: 3px solid #f5f6fa;
      }

      &-name {
        text-align: center;
        font-size: 0.8rem;
        opacity: 0.7;
        display: block;
      }

      &-offset {
        &-wrapper {
          text-align: center;
          margin-top: 6vh;
          line-height: 2rem;
        }

        &-indicator {
          opacity: 0.7;
          vertical-align: 0.5rem;
        }

        &-value {
          font-size: 2.5rem;
        }
      }
    }

    &__controller {
      display: inline-block;
      width: 35vw;
      border: solid 0.4vw;
      border-radius: 2vw;
      margin-top: 6vh;

      &-row {
        display: flex;
      }

      &-value {
        padding: 3vh 6vw;
        font-size: 6vw;
        font-weight: 500;
        text-align: center;
        border-top: solid 0.4vw rgba(255, 255, 255, 0.5);
        border-bottom: solid 0.4vw rgba(255, 255, 255, 0.5);

        &-unit {
          text-align: center;
          font-size: 4vw;
          font-weight: 400;
        }
      }

      &-current {
        display: block;
        margin-top: 1vh;
        font-size: 4vw;

        > span {
          font-size: 2.8vw;
        }
      }

      &-control {
        padding: 2vh 6vw;
        font-size: 0.9rem;
        flex: 1;

        &:first-of-type {
          border-right: solid 0.4vw rgba(255, 255, 255, 0.5);
        }
      }
    }

    &__start {
      &-wrapper {
        text-align: center;
        margin-top: 4.5vh;

        > span {
          font-size: 50%;
          display: inline-block;
          margin-left: -1vw;
          margin-right: 1vw;
          vertical-align: 1.2vw;

          > span {
            font-size: 120%;
          }
        }
      }

      &-heating {
        display: inline-block;
        background-color: #44bd32;
        padding: 1vh 2vw;
        border-radius: 1vw;
        font-size: 0.8rem;
        box-shadow: 0 10px 19px -8px rgba(0, 0, 0, 0.75);
      }
    }
  }

  &-move {
    &__speed {
      font-size: 60%;
      opacity: 0.8;
      font-style: italic;
      display: block;
      text-align: center;
    }

    &__wrapper {
      text-align: center;
      position: absolute;
      width: 96vw;
      bottom: 5vh;
    }

    &__cancel {
      display: inline-block;
      background-color: #c23616;
      padding: 2vh 2vw;
      border-radius: 8px;
    }
  }

  &__done {
    display: inline-block;
    background-color: #44bd32;
    padding: 2vh 2vw;
    border-radius: 8px;
  }

  &-purge {
    &__amount {
      text-align: center;
      margin-top: 12vh;
      font-size: 250%;
    }

    &__more,
    &__done {
      display: inline-block;
      padding: 2vh 2vw;
      border-radius: 8px;
    }

    &__more {
      background-color: #7f8fa6;
      margin-right: 10vw;
    }

    &__done {
      background-color: #44bd32;
    }
  }
}

.scroll__thumb-inactive {
  right: 2.5vw;
  top: 36vh;
  height: 57.2vh;
}
